***************************************************************
** Release Notes for EtherNet/IP sample projects and add-ons **
***************************************************************
Author of Changes- 19JUL19 - Todd Evans

AKD_Start_Motion_Task 2.2
Changed IP status to be based on Profile In Progress it instead of not on target position.  
Added N.C. contact for No Profile In Progress status in addition to the existing on 
target position status to unlatch the Start_Block bit of the control word.
This fixed the issue of the AOI running successfully once but then being immediately done and PC complete
before every executing the subsequent move.

Author of Changes-10JUL19 - Todd Evans
AKD_Set_MotionTask 2.2
Updated the AKD_Set_MotionTask AOI from the previous v1.0 to v2.0.
Changed MT.ACC, MT.DEC, MT.V, MT.P instances to 32 bit ( 4 byte ) instances. 
This allows MT.P to be set to negative values via the AKD_Set_MotionTask AOI.


Author of Changes- 18JAN18 - Todd Evans

AKD_Command_Assembly 2.0 fixed byte 12-15. position was used twice.


Author of Changes - 9MAY16 - Dan Wolke

Created AKD_Two_Axis_Move block.  Calculates X & Y motion task to generate linear move.
Created AKD_Start_MotionTask block.  Starts any MT stored on the drive
Created AKD_Set_MT block.  Creates Motion Task at any MT number but doesn't execute.
Created sample programs for above new blocks

******************** Version 2.6 ******************************
author of changes - 2016Mar01 - Dan Wolke

AKD_Home  fixed race from SetAttribute.DN bit.  Added a timeout timer.

AKD_FaultReset  added logic to disable drive when reset

AKD_Smooth_Stop had a race with not allowing the control
bit Axis.control.SmoothStop from being used by another block.

AKD_Hard_Stop had a race with not allowing the control
bit Axis.control.hardstop from being used by another block.


******************** Version 2.6 ******************************
author of changes - 2015Mar05 - Ron Bryan

AKD_Drive 
- Fix COP to Axis_Internal.PositionFeedback.  Copying 
16 bytes worth of data, only 4 needed.
- Fix COP to Axis_Internal.VelocityFeedback.  Copying 
16 bytes worth of data, only 4 needed.

Torque_Move_Sequence
- Fix COP to Torque_Actual.  Copying 16 bytes worth
of data, only 4 needed.

AKD_Get_Attribute
- Fix COP to Attribute_Actual.  Copying 16 bytes worth
of data, only 4 needed.

AKD_Set_Attribute
- Fix COP to Parameter_Value.  Copying 16 bytes worth
of data, only 4 needed.

******************** Version 2.5 ******************************

AKD_Home 2.1
- IP ouput bit should be turned off when the enable input is false

Sample_Project_v2_5
- Use updated AKD_Home instruction

******************** Version 2.4 ******************************

Registration_Example_v2_4
- Registration example project updated to use latest add-on instructions
- Project now based on Logix version 16 rather than 19. 
- Reorganized the main program to make it more reliable at start

******************** Version 2.3 ******************************

Sample_Project 2.3
- Update to use new versions of AKD_Stop_Smooth and AKD_Jog

AKD_Stop_Smooth 2.3
- Add an in-progress IP bit to show when the motor is stopping
- remove the command timer, allowing unlimited time for the motor to stop

AKD_Jog 2.3
- Remove the unused IP output (output was never set)

******************** Version 2.2 ******************************

Sample_Project 2.2
AKD_Disable 2.1
AKD_Drive 2.0
AKD_Enable 2.0
AKD_Fault_Reset 2.0
AKD_Get_Attribute 2.1
AKD_Get_Parameter 2.0
AKD_Home 2.0
AKD_Jog 2.1
AKD_Move 3.1
AKD_Set_Accel 2.1
AKD_Set_Attribute 2.1
AKD_Set_Decel 2.1
AKD_Set_Home_Move 2.0
AKD_Set_Mode 2.2
AKD_Set_Parameter 2.1
AKD_Set_Position 2.1
AKD_Set_Units 2.2
AKD_Set_Velocity 2.1
AKD_Shutdown 2.0
AKD_Shutdown_Reset 2.1
AKD_Stop_Smooth 2.0
AKD_Torque_Move 2.1

- The project is now built and distributed from Logix version 16 rather than 19. The project can
be easily upgraded to later versions as needed.

- An L5K export/import file is now available for import into other versions

- A CommandTimeout value of 0 will no longer prevent the project from working. The add-on instructions have been modified to ignore the timeout value if it is zero.

- Timeout removed from AKD_Set_Parameter.AOI as some commands can take a long time to execute. Timeout checking must be done in the user program, if desired, for this instruction.

- An additional subroutine Torque_Move_Sequence has been added to the sample project to demonstrate AKD_Torque_Move.AOI. This also demonstrates how to read an attribute cyclically using the Attribute_to_Get field of the Command Assembly and Attribute_Data field of the Response Assembly.

- AKD_Set_Mode and AKD_Set_Units are now able to recover from errors when they are enabled a second time. Previously they could not recover from errors (error would not clear).

- The project files are now versioned


****************************************************************
DWolke
23JUN17

Added error code to AKD_MOVE AOI.  When people stopped motion with the smooth stop block, the AKD_MOVE would hang up.
